Circuit simulators attempt to diagnose illegal configurations in system models with a network topology that are being simulated and then present the information about the illegal configuration to a user. An example of an illegal configuration in a system is a loop of independent voltage sources that violates Kirchhoff's voltage law (the sum of voltages around the loop must be 0; which is not the case when the loop has multiple independent voltage sources). Ideally, an error message will identify all of the components involved in the illegal configuration for a user. Conventional mechanisms for accomplishing the diagnosis of illegal configurations include performing structural analysis of equations associated with the components in the system being simulated and techniques that require the categorization of the components into five separate classes prior to analysis.
Unfortunately, the conventional mechanisms for diagnosing illegal configurations in systems being simulated suffer from a number of drawbacks, especially in the area of multi-domain circuit simulation. Certain systems are not particularly amenable to having their components categorized into five classes (voltage sources, capacitors, resistors, inductors and current sources) prior to analysis, and for these systems, categorization is either impossible or forces the system designer/user performing simulation to make awkward categorization choices. The inability to properly categorize the system components leads at best to a significantly less accurate diagnosis of the system. The other conventional mechanism that is frequently used, structural analysis, simply does not properly diagnose all types of illegal configurations with which the user may be concerned.